package NicknameInnerClassProject;

import java.util.Arrays;
import java.util.Comparator;

public class ArraySorted {
    public static void main(String[] args) {
        // 1.准备学生类数组
        Student[] students = new Student[6];
        students[0] = new Student("小王", 18, 170, '男');
        students[1] = new Student("小张", 19, 180, '女');
        students[2] = new Student("小李", 17, 160, '男');
        students[3] = new Student("小赵", 16, 150, '男');
        students[4] = new Student("小孙", 17, 170, '女');
        students[5] = new Student("小周", 18, 170, '女');

        // 2.按照年龄进行 升序排序
        // 使用Arrays.sort()方法对数组排序
        // 使用泛型 T(类型)
        // sort(T[] a,Comparator<T> c) -> 第一个参数(需要排序的数组),第二个参数(需要给sort声明一个比较器对象)
        Arrays.sort(students, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                // 指定排序规则: o1>o2 返回正整数 / o1<o2 返回负整数 / oz=o2 返回0
                // 假设此时按照 年龄排序
                if (o1.getAge() > o2.getAge()){
                    return 1;
                }else if (o1.getAge() < o2.getAge()){
                    return -1;
                }
                return 0;
            }
        });

        // 3.打印排序后的数组
        for (Student student : students)
            System.out.println(student);



    }
}
